// 发表评论组件
import React, { Component } from 'react';
// 导入图片
import avatar from './avatar.jpeg';

export class Forms extends Component {
  constructor() {
    super();
    this.state = {
      txt: '',
    };
    // 使用原生DOM
    this.txtRef = React.createRef();
  }

  // 监听用户输入
  handleTxt = (e) => {
    this.setState({
      txt: e.target.value,
    });
  };

  // 发表评论点击事件处理函数
  handleAdd = () => {
    // 验证
    if (!this.state.txt.trim()) {
      this.txtRef.current.focus();
      return alert('请输入评论内容');
    }

    // 把评论内容传递给父组件
    this.props.addComment(this.state.txt);

    // 清空用户输入
    this.setState({
      txt: '',
    });

    // 设置光标
    this.txtRef.current.focus();
  };

  render() {
    return (
      // 发表评论区
      <div className="comment-send-container">
        <div>
          <img className="user-head" src={avatar} alt="头像" />
        </div>
        <div className="comment-send">
          <div className="textarea-container">
            <textarea
              ref={this.txtRef}
              cols="80"
              rows="5"
              placeholder="发条友善的评论"
              className="ipt-txt"
              value={this.state.txt}
              onChange={this.handleTxt}
            />
            <button className="comment-submit" onClick={this.handleAdd}>
              发表评论
            </button>
          </div>
          <div className="comment-emoji">
            <i className="face"></i>
            <span className="text">表情</span>
          </div>
        </div>
      </div>
    );
  }
}

export default Forms;
